Maine Climate Trends

Analyzing snowfall, precipitation, and temperature changes in Maine

Author

Natalie Smith and Liv Hemond

Published

April 13, 2025

Bigleaf lupine, a common flowering plant in Maine. Author’s own photo.

1 Introduction

With classically cold, snowy winters, vibrant colorful falls, and sunshine-filled summers, Maine attracts vacationers and outdoor enthusiasts in every season. With only a few urban areas, Maine is predominantly rural and known for its rugged coastline and vast, undeveloped stretches of wilderness. Accordingly, the state’s economic stability largely depends upon its many natural resource industries, such as forestry, fishing, and outdoor recreation.

However, Maine is already feeling the impacts of climate change, including warmer, shorter winters, increased flooding, more severe storms, and coastal sea level rise. These hazards are affecting the state’s characteristic ecosystems and the livelihoods of its people in myriad ways. For example, the state’s iconic lobster fishery is already experiencing shifts in species distribution and abundance due to warming waters. Additionally, the state’s forests are at risk from invasive species and pests that thrive in warmer temperatures.

Summer

Winter
Figure 1: Maine across the seasons. Author’s own photos.

In this analysis, we will explore and quantify the changing climate conditions in Maine. We will focus on the city of Bangor, located in central Maine, as a representative site for climate conditions across the state.

1.1 Research Questions

With our research, we hope to answer the following questions about climate averages and extremes, using trend analysis:

  • Annual Averages:

    • How are annual temperatures changing in Maine?

    • How is annual precipitation and snowfall changing?

  • Seasonal Averages:

    • Are winter temperatures getting warmer in Maine?

    • Is winter snowfall decreasing?

  • Extremes:

    • Are the number of days with freezing temperatures decreasing?

    • Is the hottest day of the year getting hotter?

    • Are extreme rainfall events increasing in frequency?

1.2 Data Source

Data was obtained from the National Oceanic and Atmospheric Administration (NOAA) Climate Data Online (CDO) database. We used the “Daily Summaries” dataset for Bangor, Maine, which includes daily maximum and minimum temperatures, daily precipitation, and daily snowfall from 1953 to 2025. The data was downloaded as a CSV file and cleaned and analyzed in R.

2 Data Cleaning

Expand any of the code chunks below to see our initial cleaning and exploration of the data. We read in our data, then created exploratory plots to visualize the daily maximum and minimum temperatures, precipitation totals, and rainfall totals over the entire study period. As these plots are noisy, given that the show data for every single day, we created annual and seasonal summaries in the following section to actually visualize and assess trends.

Code
# set up:

# load libraries
library(tidyverse)
library(here)
library(kableExtra)
library(lubridate)
library(Kendall)
library(patchwork)

# color palette: 
tmax = "darkorange2"
tmin = "dodgerblue"
snow = "mediumorchid3"
precip = "steelblue"

# read in the data and clean names: 
climate <- read_csv(here("data", "ncei_cdo_bangor_ME.csv")) %>% 
  
  janitor::clean_names() %>% 
  
  # create a 'year' column
  mutate(year = year(date)) %>%
  
  # remove the year 2025 since it's incomplete
  filter(year!= 2025)
Code
# exploratory plots - max. temp

ggplot(climate, aes(date, tmax)) + 
  geom_line() + 
  labs(y="Daily Maximum Temperature (degrees F)", x="Date")
Code
# exploratory plots - min. temp

ggplot(climate, aes(date, tmin)) + 
  geom_line() + 
  labs(y="Daily Minimum Temperature (degrees F)", x="Date")
Code
# exploratory plots - precipitation

ggplot(climate, aes(date, prcp)) + 
  geom_line() + 
  labs(y="Daily Rainfall (in)", x="Date")
Code
# exploratory plots - snowfall

ggplot(climate, aes(date, snow)) + 
  geom_line() + 
  labs(y="Daily Snowfall (in)", x="Date")

After creating some exploratory plots and examining the data more closely, we found approximately 300 missing values. Where possible, we filled these NAs using the average of the preceding and following days. For large stretches of missing snow values during the summer months—when we assumed there was no snow—we replaced the NAs with zeros. Any remaining NAs that couldn’t be reasonably filled were dropped from the dataset.

Code
# replace NAs with the average of the previous day and following day in the climate dataset.
climate_clean <- climate %>% 
  mutate(tmax = ifelse(is.na(tmax), (lag(tmax) + lead(tmax)) / 2, tmax),
         tmin = ifelse(is.na(tmin), (lag(tmin) + lead(tmin)) / 2, tmin),
         prcp = ifelse(is.na(prcp), (lag(prcp) + lead(prcp)) / 2, prcp),
         snow = ifelse(is.na(snow), (lag(snow) + lead(snow)) / 2, snow))

# if NA is in snow column, replace with a 0
climate_clean <- climate_clean %>% 
  mutate(snow = ifelse(is.na(snow), 0, snow))

# remove remaining NAs
climate_clean <- climate_clean %>% 
  drop_na()
# check to see if there are any lingering NAs (replace prcp with tmax, tmin, snow to check others)
sum(is.na(climate_clean$prcp))

# plot, as above
ggplot(climate_clean, aes(date, tmax)) + 
  geom_line() + 
  labs(y="Daily Maximum Temperature (degrees F)", x="Date")

4 Discussion

In this analysis, we explored the changing climate conditions in Bangor, Maine, focusing on annual and seasonal trends in temperature, precipitation, and snowfall. We also examined extreme climate events, including freezing days, the hottest day of the year, and flooding events. We found that maximum temperatures are increasing and snowfall is decreasing, both overall at an annual scale and for the winter season specifically. We also found a significant decrease in the number of freezing days, which aligns with the overall conclusion that Maine is warming significantly.

In summary, the state of Maine is experiencing significant changes in its climate, with implications for its ecosystems and economy. The trends we observed in Bangor are likely representative of broader changes across the state, and they underscore the need for continued monitoring and adaptation to a changing climate. Future analyses could integrate climate data from other regions in Maine to assess spatial variability in these trends and identify priority areas to take action.